﻿package com.billow.net
{
	import flash.display.Sprite;
	import flash.external.ExternalInterface;
	import flash.net.URLRequest;
	import flash.net.navigateToURL;

	public class OpenURL
	{
		/**  
		 * features参数
		 * channelmode=yes|no|1|0	是否使用剧院模式显示窗口。默认为 no。
		 * directories=yes|no|1|0	是否添加目录按钮。默认为 yes。
		 * fullscreen=yes|no|1|0	是否使用全屏模式显示浏览器。默认是 no。处于全屏模式的窗口必须同时处于剧院模式。
		 * height=pixels	窗口文档显示区的高度。以像素计。
		 * left=pixels	窗口的 x 坐标。以像素计。
		 * location=yes|no|1|0	是否显示地址字段。默认是 yes。
		 * menubar=yes|no|1|0	是否显示菜单栏。默认是 yes。
		 * resizable=yes|no|1|0	窗口是否可调节尺寸。默认是 yes。
		 * scrollbars=yes|no|1|0	是否显示滚动条。默认是 yes。
		 * status=yes|no|1|0	是否添加状态栏。默认是 yes。
		 * titlebar=yes|no|1|0	是否显示标题栏。默认是 yes。
		 * toolbar=yes|no|1|0	是否显示浏览器的工具栏。默认是 yes。
		 * top=pixels	窗口的 y 坐标。
		 * width=pixels	窗口的文档显示区的宽度。以像素计。
		 */
		public static function open(url:String, window:String="_blank", features:String=""):void
		{
			var WINDOW_OPEN_FUNCTION:String = "window.open";
			var myURL:URLRequest = new URLRequest(url);
			var browserName:String = getBrowserName();
			
			if(getBrowserName() == "Firefox"){
				ExternalInterface.call(WINDOW_OPEN_FUNCTION, url, window, features);
   			}else if(browserName == "IE"){
				ExternalInterface.call(WINDOW_OPEN_FUNCTION, url, window, features);
			}else if(browserName == "Safari"){
				navigateToURL(myURL, window);
			} else if(browserName == "Opera"){
				navigateToURL(myURL, window);
			}else if(browserName == "Chrome"){
				navigateToURL(myURL, window);
			}else{
				navigateToURL(myURL, window);
			}
		}

		private static function getBrowserName():String
		{
			var browser:String;
			
			try{
				var browserAgent:String = ExternalInterface.call("function getBrowser(){return navigator.userAgent;}");
			}catch(e:Error){
				
			}
			
			
			if (browserAgent != null && browserAgent.indexOf("Firefox") >= 0)
			{
				browser = "Firefox";
			}
			else if (browserAgent != null && browserAgent.indexOf("Safari") >= 0)
			{
				browser = "Safari";
			}
			else if (browserAgent != null && browserAgent.indexOf("MSIE") >= 0)
			{
				browser = "IE";
			}
			else if (browserAgent != null && browserAgent.indexOf("Opera") >= 0)
			{
				browser = "Opera";
			}
			else if (browserAgent != null && browserAgent.indexOf("Chrome") >= 0)
			{
				browser = "Chrome";
			}
			else
			{
				browser = "Undefined";
			}
			
			return browser;
		}
	}
}